(convert_time): Use explicit long double constants to ensure long double
authorEli Zaretskii <eliz@gnu.org>
Fri, 21 Jul 2006 17:27:34 +0000 (17:27 +0000)
committerEli Zaretskii <eliz@gnu.org>
Fri, 21 Jul 2006 17:27:34 +0000 (17:27 +0000)
arithmetics is used throughout.

src/w32.c

index d01a1022a1997577bf0b1defcb372373b2112486..c093eab599e35b583f33beef234d380db21cc34f 100644 (file)
--- a/src/w32.c
+++ b/src/w32.c
@@ -2256,16 +2256,17 @@ convert_time (FILETIME ft)
 
       SystemTimeToFileTime (&st, &utc_base_ft);
       utc_base = (long double) utc_base_ft.dwHighDateTime
-       * 4096 * 1024 * 1024 + utc_base_ft.dwLowDateTime;
+       * 4096.0L * 1024.0L * 1024.0L + utc_base_ft.dwLowDateTime;
       init = 1;
     }
 
   if (CompareFileTime (&ft, &utc_base_ft) < 0)
     return 0;
 
-  ret = (long double) ft.dwHighDateTime * 4096 * 1024 * 1024 + ft.dwLowDateTime;
+  ret = (long double) ft.dwHighDateTime
+    * 4096.0L * 1024.0L * 1024.0L + ft.dwLowDateTime;
   ret -= utc_base;
-  return (time_t) (ret * 1e-7);
+  return (time_t) (ret * 1e-7L);
 }
 
 void